Being readily available for telephone contact has become increasingly important for a growing number of people who have a significant need to be reachable regardless of their location. Many such persons have a telephone for business, a telephone for home, a mobile cellular telephone in the car, a transportable telephone for personal wear, as well as stations providing telephone service through computers. Business people and professionals at times have multiple offices and may additionally work at a home office. All of these telephones and computer stations generally have different telephone numbers and Internet addresses. This requires a caller to know or look up multiple numbers and addresses, and frequently to make multiple calls in order to reach a person.
While there are several telephone equipment features and telephone company services designed to ease the problem of multiple telephone numbers, they do not solve all such problems. For example, call forwarding provides call redirection from one telephone to another. However, once the subscriber activates call forwarding, he or she cannot answer the primary telephone until the feature is deactivated. Additionally, calls can only be forwarded to one telephone, so that the user must know where he or she is going to be in order to forward calls effectively. Without remote activation, subscribers must turn on call forwarding from their primary telephone.
A second attempt to solve this problem requires the addition of expensive customer premises equipment connected to the primary telephone and either a second telephone line or three-way calling. In this system, when a call comes in, the system sets up a three-way call to a pre-programmed telephone number, and either simultaneously alerts the attached telephone and the remote telephone or alerts the remote telephone after a predetermined number of rings. The system determines whether the attached telephone or the remote telephone answers first. If the attached telephone answers first, the system terminates the connection to the remote telephone. If the remote telephone answers first, the system bridges the incoming call to that telephone or, for three-way calling, simply drops off the connection. This system is limited in the number of other telephones that may be alerted, and involves installing and programming customer premises equipment that occupies space at or near the customer's telephone, and requires an additional line or coordination with three-way calling.
The complexity of the problem has recently increased in that a significant number of such persons now desire to be available not only via the public telephone network but also by Internet telephony through personal computer stations as well as public telephone network stations or terminals. While multicasting is known in the Internet the methodology generally relies upon routing protocols based on a distance-vector (sometimes also called path-vector) routing scheme such as that used in IDRP (Inter-Domain Routing Protocol):
Routing Information Protocol (RIP), as described by C. L. Hedrik in "Routing Information Protocol", RFC 1058 (Request for Comments), NIC (Network Information Center), June 1988.
Hello Routing Protocol, disclosed by D. L. Mills in "Experimental Multiple Path Routing Algorithm", RFC 981, NIC, March 1986.
Border Gateway Protocol (BGP), described by K. Lougheed and Y. Rekhter in "Border Gateway Protocol (BGP)", RFC 1163, NIC, June 1990.
Gateway-Gateway Protocol (GGP), as disclosed by R. M. Hinden and A. Sheltzer in "DARPA Internet Gateway", RFC 823, NIC, September 1982,
IP multicast algorithms have been developed primarily for use with the Routing Information Protocol as disclosed by C. L. Hedrik, cited above, but are usable with the other distance-vector routing algorithms as well. IP multicast algorithms (see, e.g., S. E. Deering and D. R. Cheriton, cited above; S. E. Deering: "Host Extensions for IP Multicasting", RFC 1112, NIC, August 1988; L. Hughes and P. Thomlinson: "A Multicast Internetwork Routing Algorithm". Proceedings of the IFIP WG 6.4 Conference on High Speed Networking, 18-22 March 1991, Berlin, pp. 183-200; D. Waltzman, C, Partridge, and S. E. Deering: "Distance Vector Multicast Protocol", RFC 1075, NIC, November 1988) are all variants of the Reverse Path Broadcasting algorithm described by Y. K. Dalai and R. M. Metcalfe in "Reverse Path Forwarding of Broadcast Packets", Communications of the ACM, Vol. 21, No. 12, pp. 1040-1048, ACM, December 1978. This algorithm is similar to the LAN multicast algorithm in that a spanning tree is used to distribute the multicast packets, however, it contains additional features to solve some of the problems associated with LAN multicasting. In brief, the algorithm works as follows (see S. E. Deering and D. R. Cheriton, cited above, for a more detailed description):
1. Multicast packets are initially broadcast to all subnetworks in the internetwork. Packets are broadcast on a least-cost spanning tree. When a router receives a multicast packet from some source "S", it knows that it is on the spanning tree for multicasts originating from S if its routing tables indicate that it can reach node S with a lower cost than all other routers attached to a given subnetwork (this information is available in the normal IP routing tables). If so, that router forwards the multicast packets on the subnetwork in question. It was shown by S. E. Deering and D. R. Cheriton, cited above, that this algorithm results in the multicast packet being distributed to each subnetwork in the internetwork with minimum cost.
An obvious improvement of this scheme compared to the LAN multicasting schemes is that while here the multicast spanning tree is fixed for a given source, it is not the same for all sources. Thus multicast traffic is distributed over many different paths in the network.
2. In order to avoid broadcasting multicast packets to subnetworks that do not have members in the specified group, a scheme is used whereby routers that receive a multicast for a particular group that do not lie on a branch of the multicast tree that leads to any members of that group discard the multicast (there is obviously no need to forward it) and report to the predecessor in the multicast tree that this branch of the tree may be pruned. This process begins with routers attached to "leaf subnetworks" (subnetworks that are at the end of their respective branches of the tree), and works its way up the branch as far as possible to restrict the distribution of multicast traffic to where it is required.
The IP multicast schemes have the following drawbacks:
Initially, multicasts from a given source to a given group must be broadcast to the entire internet until the multicast tree for that source-destination pair is pruned.
The scheme requires that information used for pruning the multicast trees be discarded after some time so that new members that join the network on a previously pruned tree branch will eventually start receiving the multicasts. Thus, multicasts trees are continuously rebuilt and repruned, creating considerable overhead on the network links and processing nodes.
Multicast trees exist for each source-multicast group pair. That is, a separate logical multicast tree exists for each different source that multicasts to a given group. Thus, routing nodes may have to maintain an extremely large database for pruned multicast trees.
For these reasons such protocols or algorithms seem unsuitable for use in the MPTN and similar architectures. A useful algorithm should be able to utilize the routing capabilities of gateways which have no multicast intelligence.
In general the above-described multicasting systems for use in the Internet are designed to deliver a specific message to a predetermined and specified number of destinations. The methodologies and systems employed do not lend themselves to economic and efficient use for solving the problem of establishing connection with one called party who may or may not be located at any one of a number of specified destinations or who may be mobile.
Background Patent Literature
In the telephone network environment U.S. Pat. No. 5,506,887, issued Apr. 9, 1996, to Mark J. Emery, et al. entitled "Personal Communications Service Using Wireline/Wireless Integration," describes a personal communications service which allows a user to send and receive calls from a single portable handset using a single assigned number whether at home or roaming. The system and method described provides a mechanism for interfacing the capabilities of a land line telephone system with a radio link communication system, using a land line Advanced Intelligent Network (AIN).
The methodology provides centralized control of call processing by both telephone central office switching systems and wireless mobility controllers based on call processing data associated with individual subscribers stored in a central service control point, or data base, within the telephone network. This centralized call processing control can provide call routing to either a land line or a wireless unit via a mobility controller, in response to calls directed to a single number. The system can also extend special services normally provided to land lines by the telephone central office switches to any line of the system designated by subscriber registration and to mobile units operating in the wireless portion of the network. Thus, the system allows the individual user to control the delivery of telecommunications services to meet their personal life style and to virtually any geographic location, covered by the network, to which the user roams.
The integrated wired and wireless communication network includes communication lines and a central office switching system connected to communication lines selectively providing switched communication connections between the communication lines. A mobility controller selectively provides wireless communications to and from mobile communication units. Communication trunks interconnect the central office switching system and the mobility controller, and the mobility controller selectively provides switched communications between the communication trunks and wireless mobile communication units. A network controller, separate from the central office switching system and the mobility controller, stores call processing data for subscribers who are associated with one of the communication lines connected to the central office switching system and for subscribers associated with one of the mobile communication units. Call processing by both the central office switching system and the mobility controller to establish a completed communication link is controlled in response to the stored call processing data associated with at least one of the subscribers.
In one aspect, this arrangement provides a method by which the integrated system recognizes calls directed to an assigned subscriber number and accesses data stored in the central network controller to determine a line to a switching system or a mobility controller at which the subscriber last registered.
The programmability of the subscriber's service data within the network controller allows the subscriber to design call screening procedures to selectively route certain calls to other termination points, such as a voice mailbox. As another example, the system could provide a voice prompt asking certain callers if they are willing to pay for toll charges through long distance lines or for air time through the wireless part of the network. The system would complete the call only if the caller dialed in digits indicating assent to such charges and would add the charges to the caller's bill. The system also allows a subscriber to specify points to route calls to if the line and/or mobile communication unit are busy, for example to a different station such as might be assigned to a secretary. The arrangement also provides several systems for adding or modifying subscriber data stored in the central network controller's data base.
The system also includes method and apparatus for conducting registration procedures to inform the central network controller where the subscriber currently is located. A wireless base unit connected to a telephone line registers with the mobile communication unit when the mobile unit comes within range, and the base unit automatically dials and informs the central network controller of the registration. Similarly, when the portable unit first registers with a mobility controller, the mobility controller informs the network controller of the new registration.
When the system includes two central service controllers, often referred to as ISCPs, the methodology provides special procedures for exchange of data between the central controllers so that switching systems and mobility controllers communicate only with the central controller in their area. This prevents transmission of call processing instructions from a remote service controller to a switching system or mobility controller which might cause errant operation. Preferably the system designates the central controller or ISCP in the subscriber's home region as the source of that subscriber's Home Location Register (HLR) data. Also, each of the central controllers is set up to include Visiting Location Register (VLR) capability. When a subscriber traveling in a region other than his home region registers with a central controller outside her home region, through either a telephone registration procedure or a mobility controller registration procedure, that central controller establishes a VLR for that visiting subscriber. When switching systems or mobility controllers in the visited area need data regarding the visiting subscriber, they access the VLR in the central controller within that area.
Wireline network approaches to the problem include the following:
U.S. Pat. Nos. 4,611,094 and 4,611,096 both to Asmuth et al. disclose a system for providing custom incoming telephone call processing services to a corporate customer operating at geographically dispersed locations through a plurality of local office switches. A customer program stored in a central data base is accessed to provide instructions to the switches to complete incoming calls to customer locations in accord with special services defined by the corporate customer. Incoming calls to the customer are routed to an Action Control Point (ACP) which typically is a modified toll office. The ACP has a number of "primitive" call processing capabilities, such as providing voice prompts to callers and receiving additional caller inputs. The customer program controls the ACP's to string together the desired primitive call processing capabilities to process each call to the customer. Specified parameters stored in the program, such as time of day, caller location and data inputs responsive to the voice prompts, determine the final customer station to which each call should be completed. The customized call processing disclosed by Asmuth et al. can also include customized billing for calls, e.g., by splitting charges between the customer and the caller. The Asmuth et al. system sets up a billing record for each call in the ACP or toll office. Asmuth et al. also teach procedures for handling of calls directed to a corporate customer when the call serving office does not have all of the capabilities needed for processing the call in accord with the customer's stored program. In particular, upon recognition of the deficiencies of the call serving office, the Asmuth et al. system transfers call processing to a second office having adequate capabilities for completion of the call.
U.S. Pat. No. 4,788,718 issued Nov. 29, 1988, to Sandra D. McNabb et al. suggests centralized recording of call traffic information. The architecture is similar to that disclosed by the earlier discussed patents to Weber and Asmuth et al. to the extent that local and toll offices communicate with a central data base via CCIS link. The McNabb et al. system improves over the incoming call routing provided by the Weber patent and the two Asmuth et al. patents discussed above by adding a data gathering function to the centralized data base which stores the individual customer's call routing program. In McNabb et al. the central data processor provides call attempt records and a traffic data summary of all calls directed to a particular 800 number.
U.S. Pat. No. 4,313,035 issued Jan. 26, 1982, to David S. Jordan et al. patent discloses a method of providing a person locator service through multiple exchanges of the switched telephone network. Each subscriber is assigned a personal number uniquely identifying the subscriber. An absent subscriber inputs a number to which calls are to be completed, such as the number where the subscriber can be reached, into a central data base. A caller wishing to reach the subscriber dials the number uniquely identifying that subscriber. In response to an incoming call directed to the unique number, a telephone switching office having access to CCIS sends the dialed number to the central data base referred to by Jordan et al. as an SSP. The data base retrieves the stored completion number for the called subscriber and forwards that number back to the switching office to complete the call. The subscriber can update the stored data from any telephone. Also, the subscriber can specify whether to charge calls via the person locator system to the subscriber or to the caller.
U.S. Pat. No. 4,899,373 issued Feb. 6, 1990, to Chinmei Lee et al. discloses a system for providing special telephone services to a customer on a personal basis, when the customer is away form his or her home base or office. A nationally accessible data base system stores feature data in association with personal identification numbers. A subscriber wishing to use personalized features while away from home base dials a special code from a station connected to any exchange which has access to the data base and presents the personal identification number. The corresponding feature data is retrieved from the data base and stored in the exchange in association with the station from which the request was initiated. The exchange then provides telephone service corresponding to the subscriber's personalized telephone features. A temporary office arrangement may be established in which the personalized features will be immediately available on incoming and outgoing calls for a period of time specified by the subscriber.
U.S. Pat. No. 5,475,748, issued Dec. 12, 1995, to Scott A. Jones, entitled "Automatic Telephone System With Function for Multiple Out-Dialed Calls Per Caller," describes an automated call processing system for telephone networks and more particularly an automated call processing system for locating a called party. The system utilizes either sequential or simultaneous outdialing. In the simultaneous method an incoming caller indicates special handling desired to reach a called party. A plurality of outdialing operations is then performed in sequence, terminating each unsuccessful outdialing operation when the called party is unavailable at the corresponding number. When the called party is contacted by a successful outdialing operation the incoming caller is connected to the called party. In the simultaneous method the outdialing operations are initiated simultaneously. In the sequential process the caller is informed of the progress of outdialing operations and is notified when each outdialing fails. The caller is given an opportunity to continue with the next set or substitute a different number for dialing, leaving a message on voice mail, sending a facsimile or E-mail, etc.
U.S. Pat. No. 5,260,986, issued Nov. 9, 1993, to Barry Pershan, entitled "Group Notification Service and System," and assigned to the assignee of the instant application, describes a group notification service and system integrated into a public switched telecommunications network. The system utilizes existing equipment to inform specific persons of issues or events by calling and delivering a customized message via the telecommunications network. Pagers may be simultaneously or sequentially called requested that the desired person call in for their message.
U.S. Pat. No. 5,206,901, issued Apr. 27, 1993, to John B. Harlow et al. entitled "Method and Apparatus for Alerting Multiple Telephones for an Incoming Call," describes a system for alerting a plurality of telephones in response to an incoming call to a destination directory number. A handling switch sends a query to a centralized database requesting routing instructions, and the database returns the directory numbers of the plurality of telephones to be alerted for incoming calls to the destination directory number. The busy/idle status of all of the plurality of telephones is checked, and an alerting signal is sent to all idle telephones. The handling switch is notified as to which alerted telephone has an off-hook appearance first, and the incoming call is routed to that telephone.
U.S. Pat. No. 5,361,256, issued Nov. 1, 1994, to Doeringer et al. entitled "Inter-Domain Multicast Routing," describes a method and system for multicasting messages in a complex computer network that is originally equipped only for Unicast transmission. The method and system multicasts a message from a sending station to a plurality of receiving stations within a conventional unicast message transmission network using existing protocols by, at least in certain nodes within the network, maintaining tables of subnetworks with multicast receiving stations or tables of multicast receiving stations and by including appropriate routing information in the header of multicast messages, as further defined in the claims.
It is stated that this system, when used in combination with distance-vector routing protocols such as the standard OSI IDRP routing protocol, disclosed in ISO "Information Technology-Telecommunications and Information Exchange between Systems-Intermediate System to Intermediate System Intra-Domain Routing Protocol for Use in Conjunction with the Protocol for Providing the Connection", ISO/DIS 10589, 1990, or any other similar protocol, such as those used in IP networks referenced above, supports multicasting in large internetworks. This solution is also stated to be usable with link-state routing protocols, such as OSPF developed for IP networks (described by J. Moy in "OSPF Version 2", RFC 1247, NIC, July 1991) and the OSI IS-IS protocol (described in ISO/DIS 10589, cited above) and are thus applicable to a wide range of internetworking environments. Within the invention, three new types of protocols are presented:
Disclosure of the Invention
objectives
It is one objective of the invention to provide an Internet communication service which is effective to implement automatic location of called parties at multiple locations.
It is another objective of the invention to provide such a service wherein a person initiating an attempt to establish communication with another party may establish such a link which does not necessarily require use of the public telephone network at the calling and/or called terminuses of the communication link.
It is a further objective of the present invention to provide a service of the above stated type permitting telephony type communication.
It is yet another embodiment of the invention to provide automatic location of a party called using the Internet data network in combination with both land based communications lines and radio links in such a manner that the services appear seamless across boundaries of the land line network and the radio link network.
It is still a further objective of the invention to provide a two-way audio (e.g., voice) communication service via a public packet data network, such as the Internet, which permits the automatic location of called users while permitting users to roam freely.
It is another objective of the present invention to accomplish the foregoing using an enhanced domain name server capable of using a single Domain Name address at an Internet telephone to communicate with another Internet telephone or telephones on the PSTN, both wireline and wireless.